Applying Design by Contract to Feature-Oriented Programming
نویسندگان
چکیده
Feature-oriented programming (FOP) is an extension of object-oriented programming to support software variability by refining existing classes and methods. In order to increase the reliability of all implemented program variants, we integrate design by contract (DbC) with FOP. DbC is an approach to build reliable object-oriented software by specifying methods with contracts. Contracts are annotations that document and formally specify behavior, and can be used for formal verification of correctness or as test oracles. We present and discuss five approaches to define contracts of methods and their refinements in FOP. Furthermore, we share our insights gained by performing five case studies. This work is a foundation for research on the analysis of feature-oriented programs (e.g., for verifying functional correctness or for detecting feature interactions).
منابع مشابه
Specification and Implementation of Consistency Constraints in Object-Oriented Database Systems: Applying Programming-by-Contract
We describe an approach to the specification and implementation of consistency constraints in object-oriented database systems, adopting the programming-by-contract paradigm developed for object-oriented programming. We also investigate how consistency constraints specified in programming-by-contract can be transformed into production rules of an active, object-oriented database system.
متن کاملContract-Aware Feature Composition
Feature-oriented programming is a paradigm to develop software product lines, in which products can be generated by composing feature modules. Design by contract is a development methodology, in which methods are specified by annotating them with contracts. Researchers propose to use such contracts to specify feature modules in order to perform different product-line analysis-techniques such as...
متن کاملVerification of Software Product Lines Using Contracts
Software product lines are widely used to achieve high reuse of code artifacts for similar software products. While there are many efficient techniques to implement product lines, such as feature-oriented programming, the analysis and verification of product lines got only little attention so far. But as product lines are increasingly used in safety critical scenarios, efficient verification te...
متن کاملExpressing Design by Contract Principles using Aspects
This thesis deals with two methodologies in software construction: Aspect Oriented Programming and Design by Contract. It was already claimed that the design by contract methodology is an aspect of the software system. As such, a contract can be expressed in AOP terminology, and hence could be enforced using an aspect oriented based tool. The work presented here describes the enforcement proces...
متن کاملAn Aspect-Oriented Infrastructure for Design by Contract in Java
Design by Contract was first introduced in the Eiffel programming language to address the reliability concern in Object-Oriented Software Development, namely on module interaction. On the other hand, Aspect-Oriented Software Development aims at providing a means to identify, modularise and compose cross-cutting concerns, which classical approaches for software development can not modularise. Th...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2012